package bastanteo.cloud.bean;

// Generated 08/11/2011 11:03:59 PM by Hibernate Tools 3.3.0.GA
// Author: Kid Rivera Valera

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Empresa generated by hbm2java
 */
@Entity
@Table(name = "empresa", catalog = "bd_bastanteo")
public class Empresa implements java.io.Serializable {

	private String CEmpresa;
	private TipoEmpresa tipoEmpresa;
	private String ruc;
	private String razonSocial;
	private Date fechaInicioOper;
	private int cantEmpleado;
	private Set<Representante> representantes = new HashSet<Representante>(0);
	private Set<GrupoBastanteo> grupoBastanteos = new HashSet<GrupoBastanteo>(0);

	public Empresa() {
	}

	public Empresa(String CEmpresa, TipoEmpresa tipoEmpresa, String ruc,
			String razonSocial) {
		this.CEmpresa = CEmpresa;
		this.tipoEmpresa = tipoEmpresa;
		this.ruc = ruc;
		this.razonSocial = razonSocial;
	}
	
	public Empresa(String CEmpresa, TipoEmpresa tipoEmpresa, String ruc,
			String razonSocial,Date fechaInicioOper,int cantEmpleado) {
		this.CEmpresa = CEmpresa;
		this.tipoEmpresa = tipoEmpresa;
		this.ruc = ruc;
		this.razonSocial = razonSocial;
		this.fechaInicioOper=fechaInicioOper;
		this.cantEmpleado=cantEmpleado;
	}

	public Empresa(String CEmpresa, TipoEmpresa tipoEmpresa, String ruc,
			String razonSocial, Date fechaInicioOper, Short cantEmpleado,
			Set representantes, Set grupoBastanteos) {
		this.CEmpresa = CEmpresa;
		this.tipoEmpresa = tipoEmpresa;
		this.ruc = ruc;
		this.razonSocial = razonSocial;
		this.fechaInicioOper = fechaInicioOper;
		this.cantEmpleado = cantEmpleado;
		this.representantes = representantes;
		this.grupoBastanteos = grupoBastanteos;
	}

	@Id
	@Column(name = "C_EMPRESA", unique = true, nullable = false, length = 8)
	public String getCEmpresa() {
		return this.CEmpresa;
	}

	public void setCEmpresa(String CEmpresa) {
		this.CEmpresa = CEmpresa;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_TIPO_EMPRESA", nullable = false)
	public TipoEmpresa getTipoEmpresa() {
		return this.tipoEmpresa;
	}

	public void setTipoEmpresa(TipoEmpresa tipoEmpresa) {
		this.tipoEmpresa = tipoEmpresa;
	}

	@Column(name = "RUC", nullable = false, length = 11)
	public String getRuc() {
		return this.ruc;
	}

	public void setRuc(String ruc) {
		this.ruc = ruc;
	}

	@Column(name = "RAZON_SOCIAL", nullable = false, length = 100)
	public String getRazonSocial() {
		return this.razonSocial;
	}

	public void setRazonSocial(String razonSocial) {
		this.razonSocial = razonSocial;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FECHA_INICIO_OPER", length = 10)
	public Date getFechaInicioOper() {
		return this.fechaInicioOper;
	}

	public void setFechaInicioOper(Date fechaInicioOper) {
		this.fechaInicioOper = fechaInicioOper;
	}

	@Column(name = "CANT_EMPLEADO")
	public int getCantEmpleado() {
		return this.cantEmpleado;
	}

	public void setCantEmpleado(int cantEmpleado) {
		this.cantEmpleado = cantEmpleado;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "empresa")
	public Set<Representante> getRepresentantes() {
		return this.representantes;
	}

	public void setRepresentantes(Set<Representante> representantes) {
		this.representantes = representantes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "empresa")
	public Set<GrupoBastanteo> getGrupoBastanteos() {
		return this.grupoBastanteos;
	}

	public void setGrupoBastanteos(Set<GrupoBastanteo> grupoBastanteos) {
		this.grupoBastanteos = grupoBastanteos;
	}

}
